As the processing power of microprocessors and the quality of graphics systems have increased, environment mapping systems have become feasible on personal computer systems. Environment mapping systems use computer graphics to display the surroundings or environment of a theoretical viewer. Ideally, a user of the environment mapping system can view the environment at any angle or elevation. FIG. 1(A) illustrates the construct used in conventional environment mapping systems. A viewer 105 is centered at the origin of a three dimensional space having x, y, and z coordinates. The environment of viewer 105 (i.e., what the viewer can see) is ideally represented by a sphere 110, which surrounds viewer 105. Generally, for ease of calculation, sphere 110 is defined with a radius of 1 and is centered at the origin of the three dimensional space. More specifically, the environment of viewer 105 is captured and then re-projected onto the inner surface of sphere 110. Viewer 105 has a view window 130 which defines the portion of sphere 110 viewer 105 can see at any given moment. View window 130 is typically displayed on a display unit for the user of the environment mapping system.
In many situations, the portions of an environment above and below user 105 are not relevant. For example, viewer 105 is standing in a building, details of the floor and ceiling may not be necessary. Thus, many environment mapping systems ignore these areas and use a cylindrical representation of the environment around user 105. FIG. 1(B) is a simplified graphical representation of a cylindrical texture projection of an environment surrounding viewer 105 in a second conventional environment mapping system. Viewer 105 is centered at the origin of a three dimensional space having x, y, and z coordinates. The environment of viewer 105 (i.e., what the viewer can see) is ideally represented by a cylinder 150, which surrounds viewer 105. Generally, for ease of calculation, cylinder 150 is defined with a radius of 1 and is centered at the origin of the three dimensional space. The height of cylinder 150 varies with different environment mapping systems. More specifically, the environment of viewer 105 is captured and then re-projected onto the inner surface of cylinder 150. Viewer 105 has a view window 130 which defines the portion of cylinder 150 viewer 105 can see at any given moment. View window 130 is typically displayed on a display unit for the user of the environment mapping system.
Conventional environment mapping systems include an environment capture system and an environment display system. The environment capture system creates an environment map which contains the necessary data to recreate the environment of viewer 105. The environment display system displays portions of the environment in view window 130 based on the field of view of the user of the environment display system. An environment display system is described in detail by Hashimoto et al., in co-pending U.S. patent application Ser. No. 09/505,337, entitled “POLYGONAL CURVATURE MAPPING TO INCREASE TEXTURE EFFICIENCY.” Typically, the environment capture system includes a camera system to capture the entire environment of viewer 105. Specifically, the field of view of the camera system must encompass the totality of the inner surface of sphere 110 or cylinder 150.
An extension to environment mapping is generating and displaying immersive videos. Immersive videos involve creating multiple environment maps, ideally at a rate of at least 30 frames a second, and displaying appropriate sections of the multiple environment maps for viewer 105, also ideally at a rate of at least 30 frames a second. Immersive videos are used to provide a dynamic environment rather than a single static environment as provided by a single environment map. Alternatively, immersive video techniques allow the location of viewer 105 to be moved. For example, an immersive video can be made to capture a flight in the Grand Canyon. The user of an immersive video display system would be able to take the flight and look out at the Grand Canyon at any angle. Camera systems for environment mappings can be easily converted for use with immersive videos by using video cameras in place of still image cameras.
Many conventional camera systems exist to capture the entire environment of viewer 105. For example, cameras can be adapted to use hemispherical lens to capture a hemisphere of sphere 110, i.e. half of the environment of viewer 105. By using two camera with hemispherical lens the entire environment of viewer 105 can be captured. However, the images captured by a camera with a hemispherical lens require intensive processing to remove the distortions caused by the hemispherical lens. Furthermore, two-cameras systems provide less resolution than systems having more than two cameras.
Other environment capturing camera systems use multiple outward facing cameras. FIG. 2 depicts an outward facing camera system 200 having six cameras 211–216 facing outward from a center point C. Outward facing camera system 200 captures a cylindrical portion of the environment. Camera 211 is directed to capture data representing a region 221 of the environment surrounding camera system 200. Similarly, cameras 212–216 are directed to capture data representing regions 222–226, respectively. The data captured by cameras 211–216 is then combined in a cylindrical environment display system (not shown) to create a corresponding environment map from the perspective of viewer 105. Outward facing camera system 200 can be augmented to capture spherical environments by adding cameras to capture the portions of the environment above and below the portions captured by the cameras shown in FIG. 2.
A parallax problem associated with camera system 200 is produced when two cameras capture a single object. This occurs when an object is located in a region (referred to herein as an “overlap region”) that is located in two or more capture regions. For example, overlapping portions of capture region 221 and capture region 222 form overlap region 241. Any object (not shown) located in overlap region 241 is captured both by camera 211 and by camera 212. Similar overlap regions 242–246 are indicated for each adjacent pair of cameras 212–216. Because the viewpoint of each camera is different (i.e., adjacent cameras are separated by a distance D), the object is simultaneously captured from two different points of reference, and the captured images of the object are therefore different. Accordingly, when the environment map data from both of these cameras is subsequently combined in an environment display system, the environment display system is able to merge portions of the image captured by the two cameras that are essentially identical, but produces noticeable image degradation in the regions wherein the images are different.
Another camera system for cylindrical environment capture is illustrated in FIGS. 3(a) and 3(b). Specifically, FIG. 3(a) shows a cross-sectional view of a pyramidal mirror camera system 300. Pyramidal mirror camera system 300 includes a mirror mounting bar 310, a top plate 320, a plurality of mirrors including a mirror 332 and a mirror 336, a camera mounting bar 340, and a plurality of cameras including a camera 352 and a camera 356. Top plate 320 is attached to mirror mounting bar 310. The plurality of mirrors including mirrors 332 and 336 are attached to top plate 320 and mirror mounting bar 310 at a 45 degree angle with respect to mirror mounting bar 310. The plurality of mirrors form a pyramid shape. The specific number of mirrors may differ. For example, pyramidal-mirror camera systems using 9 mirrors, 8 mirrors and 4 mirrors have been developed.
The plurality of cameras, including cameras 352 and 356 are mounted to camera mounting bar 340, which is attached to mirror mounting bar 310, so that the plurality of cameras point toward the plurality of mirrors. Specifically, each camera is aligned with one mirror so that the mirror redirects the field of view of the aligned camera outward from the pyramid formed by the mirrors. Typically, the field of view of a camera is given as an angular measurement. However, for clarity, field of views are shown in the figures as projections from the nodal point of the camera. For example, the field of view of camera 352 is redirected by mirror 332 to form a field of view 362. Similarly, the field of view of camera 356 is redirected by mirror 336 to form a field of view 366. By surrounding mirror mounting bar 310 and camera mounting bar 340 with aligned mirrors and cameras, respectively, a 360 degree environment surrounding mirror mounting bar 310 can be captured by pyramidal mirror camera system 300.
Field of view 362 is equivalent to the field of view of a camera having a nodal point near point 370 and facing mirror 332 and parallel to top plate 320. Thus, camera 352 is said to have a virtual nodal point near point 370. Similarly, field of view 366 is equivalent to the field of view of a camera having a nodal point near point 370 and facing in the direction of field of mirror 336 and parallel to top plate 320. Thus, camera 356 is also said to have a virtual nodal point near point 370. In addition, the other cameras of the plurality of cameras would also be configured to have virtual nodal points at or near point 370. By having the virtual nodal point in close proximity, the parallax and blind spot problems associated with outward facing camera systems are greatly minimized in pyramidal mirror camera system 300.
FIG. 3(b) shows a view of pyramidal mirror camera system 300 from beneath the pyramid formed by the mirrors but above the plurality of cameras. Specifically, FIG. 3(b) shows mirrors 331–338 coupled to top plate 320 and the bottom of mirror mounting bar 310. Mirrors 331–338 are trapezoids rather than triangles to facilitate mounting of mirrors 331–338 to mirror mounting bar 310. Other pyramidal camera systems may use triangular mirrors. FIG. 3(b) also shows the reflection of lens 351L–358L of cameras 351–358 (not shown in FIG. 3(b)) to illustrate the alignment of the mirrors and the cameras.
FIGS. 4(a) and 4(b) illustrate how separate video streams from a multi-camera capture system can be arranged into an immersive video containing a plurality of cylindrical environment map. Specifically video streams 421–428 are captured using a multi-camera capture system, such as an eight-camera version of outward facing camera system 200 or pyramidal mirror camera system 300. Corresponding frames of video streams 421–428 are joined to form cylindrical environment maps, such as cylindrical environment map 450, using conventional image blending techniques. The sequence of cylindrical environment maps forms the immersive video stream. Wherever an image joins another image, a seam may be visible. For example, seam 431 may be visible between video stream 421 and video 422 in cylindrical environment map 450. Similarly, seams 432, 433, 434, 435, 436, 437 and 438 may also be visible in cylindrical environment map 450. Because the corresponding frames of video streams are usually joined using the same technique, the seams exist in each environment map forming the immersive video. Seams typically appear as a distortion in the immersive video and are especially noticeable if a moving object passes across the seam during the immersive video. Current image blending techniques generally can not completely eliminate the seams in cylindrical environment map 450. Hence, there is a need for a method to minimize the distortions caused by seams in an immersive video.